home *** CD-ROM | disk | FTP | other *** search
/ The Programmer Disk / The Programmer Disk (Microforum).iso / xpro / extra / pro14 / flowtest.cbl < prev    next >
Text File  |  1993-07-02  |  19KB  |  557 lines

  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. COBSTR.
  3.        ENVIRONMENT DIVISION.
  4.        DATA DIVISION.
  5.       * deleted
  6.        PROCEDURE DIVISION.
  7.        OVERALL SECTION.
  8.        CAA-SECTION.
  9.            MOVE SPACES TO XC-PARAM-TABLE
  10.            MOVE 3 TO XD-MAX.
  11.            MOVE "IN"           TO XC-KEYWORD(1)
  12.            MOVE "OUT "         TO XC-KEYWORD(2)
  13.            MOVE "TAB"          TO XC-KEYWORD(3)
  14.            MOVE "COBTABLE.TXT" TO XC-VALUE(3)
  15.            CALL "COMMLINE" USING XD-MAX, XC-PARAM-TABLE.
  16.            MOVE XC-VALUE(1) TO CR-ID
  17.            MOVE XC-VALUE(2) TO CP-ID
  18.            MOVE XC-VALUE(3) to CT-ID.
  19.        AA-GET-NAME.
  20.            IF CR-ID = SPACES
  21.               DISPLAY "Enter input source file name  "
  22.               ACCEPT CR-ID
  23.               GO TO AA-GET-NAME.
  24.            MOVE SPACES TO WF-FILES.
  25.            UNSTRING CR-ID DELIMITED "." INTO WFI-ID WFI-EXT
  26.            IF WFI-EXT = SPACES
  27.               MOVE "CBL" TO WFI-EXT.
  28.            UNSTRING CP-ID DELIMITED "." INTO WFO-ID WFO-EXT
  29.            IF WFO-ID = SPACES
  30.               MOVE WFI-ID TO WFO-ID.
  31.            IF WFO-EXT = SPACES
  32.                  MOVE "TXT" TO WFO-EXT.
  33.  
  34.            IF CP-ID = SPACES
  35.              STRING  "Enter output source file name [" DELIMITED SIZE
  36.                      WFO-ID "." WFO-EXT "]" DELIMITED SPACE
  37.                      INTO WF-DISP
  38.              DISPLAY WF-DISP
  39.              ACCEPT CP-ID.
  40.  
  41.            UNSTRING CT-ID DELIMITED "." INTO WFT-ID WFT-EXT.
  42.            IF WFT-EXT = SPACES
  43.                  MOVE "TBL" TO WFT-EXT.
  44.            IF WFT-ID = SPACES
  45.                MOVE "STRTABLE" TO WFT-ID.
  46.            IF WFT-EXT = SPACES
  47.                  MOVE "TBL" TO WFT-EXT.
  48.  
  49.            MOVE SPACES TO CR-ID CP-ID
  50.            STRING WFI-ID "." WFI-EXT
  51.                DELIMITED SPACE INTO CR-ID.
  52.            DISPLAY "Input file is  " CR-ID
  53.            STRING WFO-ID "." WFO-EXT
  54.                DELIMITED SPACE INTO CP-ID.
  55.            DISPLAY "Output file is " CP-ID.
  56.            MOVE CP-ID TO KO-FILENAME
  57.            STRING WFT-ID "." WFT-EXT
  58.                DELIMITED SPACE INTO CT-ID.
  59.            DISPLAY "Table file is  " CT-ID.
  60.            DISPLAY " "
  61.            MOVE SPACES TO WS-RECORD.
  62.            MOVE ZERO TO WT-OUT.
  63.            MOVE 0410 TO WC-ERROR-NUMBER
  64.            MOVE SPACES TO CP-OUTPUT-SOURCE.
  65.            MOVE QUOTE TO WN-QUOTE.
  66.            IF  WJ-QUOTE-CHARACTER = "'"
  67.              MOVE WJ-QUOTE-CHARACTER TO WN-QUOTE.
  68.            MOVE WN-QUOTE TO WB-QUOTE-1,
  69.                    WB-QUOTE-2,
  70.                    WB-QUOTE-3,
  71.                    WB-QUOTE-4,
  72.                    WB-QUOTE-5,
  73.                    WB-QUOTE-6.
  74.            INITIALIZE
  75.       *****         WW-ENTRY-GROUP,
  76.                    WQ-SENTENCE-CONTROL,
  77.                    WW-SIZE,
  78.                    WW-SUBSCRIPT,
  79.                    WT-IN,
  80.                    WT-OUT,
  81.                    WA-END-OF-FILE,
  82.                    WA-SLOT,
  83.                    WF-DIVISION-DATA,
  84.                    WG-LOOKUP-DATA,
  85.                    WD-TOTALS,
  86.                    WZ-PROC,
  87.                    WD-ERROR-COUNT,
  88.                    WJ,
  89.                    WG-LOOKUP-DATA.
  90.            MOVE 1 TO WY-WORD-OUT-PSV,
  91.                    WY-BUILD-PSV,
  92.                    WY-GET-DATA-PSV,
  93.                    WY-GET-CARD-PSV,
  94.                    WJ-SPACESTRING-SIZE.
  95.            MOVE SPACES TO WZ-TYPE(1).
  96.  
  97.            DISPLAY "COBSTR: COBOL structure charting tool(C) 1984 "
  98.                    " TRANTOR LTD"
  99.            DISPLAY "Written by Neil Jennings B.Sc. C.Eng. MBCS FIAP"
  100.            DISPLAY " "
  101.            DISPLAY "Press ENTER to continue..."
  102.            DISPLAY "       (Control-Break to quit at any time)"
  103.            ACCEPT WS-DUMMY.
  104.            DISPLAY        "Personal use only:"
  105.            DISPLAY        "If you continue to use this program aft"
  106.                           "er a 30-day trial period, you MUST "
  107.            DISPLAY        "register with us at the address below. "
  108.                           "You will then receive a new version"
  109.            DISPLAY        "without these messages."
  110.            DISPLAY " "
  111.            DISPLAY        "The registration fee of ten pounds s"
  112.                           "terling or equivalent will help to pay "
  113.            DISPLAY        "for the distribution of upgrad"
  114.                           "es and development of new versions. "
  115.            DISPLAY " "
  116.            DISPLAY        "CORPORATE users MUST purchase a licence"
  117.                           " at the current list price."
  118.            DISPLAY        "For details, contact "
  119.            DISPLAY        "TRANTOR LTD"
  120.            DISPLAY        "TRANTOR HOUSE"
  121.            DISPLAY        "GREEN HEDGES"
  122.            DISPLAY        "PONTARDAWE ROAD"
  123.            DISPLAY        "BRYNCOCH"
  124.            DISPLAY        "NEATH      SA10 7YL"
  125.            DISPLAY        "WEST GLAM"
  126.            DISPLAY        "WALES, UK"
  127.            DISPLAY        " "
  128.            DISPLAY        "TEL 0639 633072   Vodafone 0836 795445 "
  129.            DISPLAY " "
  130.            DISPLAY "Press ENTER to continue...".
  131.            ACCEPT WS-DUMMY.
  132.            MOVE "1010001" TO WX-OPTIONS
  133.            MOVE 3 TO WJ-INDENT
  134.            MOVE WJ-INDENT TO WY-INDENT.
  135.            PERFORM SET-TABLES.
  136.            OPEN    INPUT CR-SOURCE-IN.
  137.            PERFORM PROCESS-PROC.
  138.            CLOSE CR-SOURCE-IN.
  139.            DISPLAY "COBSTR ENDS OK"
  140.            STOP RUN.
  141.        CAA-END.
  142.            EXIT.
  143.        GET-WORD SECTION.
  144.        GW-START.
  145.            MOVE SPACES TO WO-SUBTYPE.
  146.            PERFORM GET-DATA.
  147.            IF  WX-OPT(5) > 8
  148.              DISPLAY " "
  149.              DISPLAY "Input item    = " WO-SHORT
  150.              DISPLAY "Type          = " WO-TYPE
  151.              DISPLAY "Subtype       = " WO-SUBTYPE
  152.              DISPLAY "Size          = " WO-SIZE
  153.              DISPLAY "Input column  = " WO-INPOS.
  154.            IF  WO-CHARACTER(1) = ":"
  155.              MOVE WO-SHORT TO WZ-NEXT-LABEL
  156.              GO TO GW-START.
  157.            IF  WF-DIVISION = "D"
  158.              PERFORM SEE-IF-LEVEL
  159.              PERFORM SEE-IF-DATANAME.
  160.            PERFORM SCOT.
  161.        GW-END.
  162.            EXIT.
  163.        SEE-IF-LEVEL SECTION.
  164.        SL-START.
  165.            IF  WO-TYPE = "P"
  166.                  OR "W"
  167.              NEXT SENTENCE
  168.            ELSE
  169.              GO TO SL-EXIT.
  170.            IF  WO-SIZE = 0
  171.                  OR > 2
  172.              GO TO SL-EXIT.
  173.            IF  WQ-WORD-COUNT > 0
  174.              GO TO SL-EXIT.
  175.            MOVE 1 TO WI-SUBSCRIPT.
  176.        SL-LOOP.
  177.            IF  WI-SUBSCRIPT > WO-SIZE
  178.              GO TO SL-FOUND.
  179.            IF  WO-CHARACTER(WI-SUBSCRIPT) NUMERIC
  180.              ADD 1 TO WI-SUBSCRIPT
  181.              GO TO SL-LOOP.
  182.            GO TO SL-EXIT.
  183.        SL-FOUND.
  184.            MOVE "W" TO WO-TYPE.
  185.            MOVE "L" TO WO-SUBTYPE.
  186.        SL-EXIT.
  187.            EXIT.
  188.        SEE-IF-DATANAME SECTION.
  189.        SD-START.
  190.            IF  WO-TYPE = "W"
  191.              IF  WB-LAST-SUBTYPE = "L"
  192.                MOVE "D" TO WO-SUBTYPE.
  193.        SD-EXIT.
  194.            EXIT.
  195.        PROCESS-PROC SECTION.
  196.        KAA-START.
  197.            MOVE ZERO TO WQ-WORD-COUNT.
  198.            MOVE 1 TO WZ-SP.
  199.            PERFORM GET-WORD THRU GET-WORD-EXIT.
  200.        KAA-MAIN-LOOP.
  201.            IF  WA-END-INPUT = 1
  202.              GO TO KAA-MAIN-END.
  203.        KAA-POSIT.
  204.        KAA-UNTIL.
  205.            IF  WA-END-INPUT = 1
  206.              GO TO KAA-ADMIT.
  207.            IF  WO-SUBTYPE = "J"
  208.              GO TO KAA-END-UNTIL.
  209.            PERFORM BUILD.
  210.            PERFORM GET-WORD.
  211.            GO TO KAA-UNTIL.
  212.        KAA-END-UNTIL.
  213.        KAA-PROCESS-PROC.
  214.        KBA-LOOP.
  215.            IF  WA-END-INPUT = 1
  216.              GO TO KAA-ADMIT.
  217.            IF  WO-PROCEDURE
  218.              GO TO KBA-END.
  219.            IF  WO-SUBTYPE = "J"
  220.              MOVE 0302 TO WC-ERROR-NUMBER
  221.              PERFORM PRINT-ERROR
  222.              PERFORM PUT-IGNORE THRU PUT-IGNORE-EXIT
  223.            ELSE
  224.              PERFORM BUILD.
  225.            PERFORM GET-WORD.
  226.            GO TO KBA-LOOP.
  227.        KBA-END.
  228.            IF  NOT WF-PROCEDURE-DIV
  229.              MOVE 0204 TO WC-ERROR-NUMBER
  230.              PERFORM PRINT-ERROR
  231.              DISPLAY "Warning: No PROCEDURE DIVISION found"
  232.              MOVE "P" TO WF-DIVISION.
  233.            INITIALIZE WZ-PROCEDURE-DATA WZ-PATH-STACK WZ-SERIAL-NOS.
  234.            MOVE ZERO TO WZ-PROC-PATHS.
  235.            MOVE 1 TO WZ-CYCLOMATIC.
  236.            ADD 1 TO WZ-PROC.
  237.            IF  WZ-PROC > WZ-MAX
  238.              MOVE 0120 TO WC-ERROR-NUMBER
  239.              PERFORM PRINT-ERROR.
  240.            MOVE WA-ALPHA(WZ-PROC) TO WZ-ALPHA.
  241.            MOVE WO-SHORT TO WZ-PROCTYPE.
  242.            MOVE SPACE TO WZ-PSVNAME,
  243.                    WZ-PSVTHREAD.
  244.            STRING WZ-ALPHA,
  245.                    "-DEFAULT-PSV" DELIMITED SIZE INTO WZ-PSVNAME.
  246.            MOVE "/" TO WO-ITEM.
  247.            MOVE "*" TO WO-TYPE
  248.            MOVE SPACE TO WO-SUBTYPE
  249.            MOVE 7 TO WO-NEWPOS
  250.            MOVE 66 TO WO-SIZE
  251.            PERFORM BUILD.
  252.            PERFORM GET-WORD.
  253.        KBE-LOOP.
  254.            IF  WA-END-INPUT = 1
  255.              MOVE 0301 TO WC-ERROR-NUMBER
  256.              PERFORM PRINT-ERROR
  257.              GO TO KAA-ADMIT.
  258.            IF  WO-TYPE = " "
  259.              PERFORM BUILD
  260.              PERFORM GET-WORD
  261.              GO TO KBE-LOOP.
  262.            IF  WO-TYPE = "*"
  263.                  OR "X"
  264.                  OR "T"
  265.                  OR "Z"
  266.              PERFORM BUILD
  267.              PERFORM GET-WORD
  268.              GO TO KBE-LOOP.
  269.            IF  WO-TYPE = "W"
  270.                  OR "P"
  271.              NEXT SENTENCE
  272.            ELSE
  273.              PERFORM PUT-IGNORE
  274.              MOVE 0306 TO WC-ERROR-NUMBER
  275.              PERFORM PRINT-ERROR
  276.              PERFORM GET-WORD
  277.              GO TO KBE-LOOP.
  278.            MOVE ZERO TO WQ-WORD-COUNT.
  279.            MOVE "P" TO WO-TYPE.
  280.            MOVE 8 TO WO-NEWPOS.
  281.            MOVE 0 TO WO-OFFSET.
  282.            PERFORM BUILD.
  283.            PERFORM GET-WORD.
  284.        KBB-LOOP.
  285.            IF  WA-END-INPUT = 1
  286.              MOVE 0301 TO WC-ERROR-NUMBER
  287.              PERFORM PRINT-ERROR
  288.              GO TO KAA-ADMIT.
  289.            IF  WO-TYPE = "."
  290.              MOVE WO-WORD TO WO-STORED-WORD-1
  291.              GO TO KBB-NEXT.
  292.            IF  WO-SUBTYPE = "J"
  293.              GO TO KBB-END.
  294.            PERFORM BUILD.
  295.            PERFORM GET-WORD.
  296.            GO TO KBB-LOOP.
  297.        KBB-END.
  298.            MOVE WO-WORD TO WO-STORED-WORD-1.
  299.            MOVE "SECTION" TO WO-ITEM.
  300.            PERFORM PUT-WORD.
  301.            PERFORM PUT-FULLSTOP.
  302.        KBB-NEXT.
  303.            MOVE WO-STORED-WORD-1 TO WO-WORD.
  304.            IF  WO-TYPE = "."
  305.              PERFORM PUT-FULLSTOP
  306.              PERFORM PUT-SPACE
  307.              PERFORM GET-WORD
  308.              MOVE WO-WORD TO WO-STORED-WORD-1.
  309.            MOVE "AAA-START" TO WO-ITEM.
  310.            MOVE WZ-ALPHA TO WO-CHARACTER(1).
  311.            PERFORM PUT-PARAGRAPH.
  312.            MOVE WO-STORED-WORD-1 TO WO-WORD.
  313.            IF  WZ-PROCTYPE = "PROC"
  314.              GO TO KBB-EPROC-LOOP.
  315.        KBG-LOOP.
  316.            IF  WA-END-INPUT = 1
  317.              MOVE 0301 TO WC-ERROR-NUMBER
  318.              PERFORM PRINT-ERROR
  319.              GO TO KAA-ADMIT.
  320.            IF  WO-EPROC
  321.              MOVE 0305 TO WC-ERROR-NUMBER
  322.              PERFORM PRINT-ERROR
  323.              GO TO KAA-PROCESS-EPROC.
  324.            IF  WO-ITEM = "PSVNAME"
  325.              PERFORM GET-WORD
  326.              GO TO KBG-PSV.
  327.            IF  WO-ITEM = "PSVTHREAD"
  328.              PERFORM GET-WORD
  329.              GO TO KBG-THREAD.
  330.            IF  WO-ITEM = "PROCBEGIN"
  331.              PERFORM GET-WORD
  332.              GO TO KBG-END.
  333.            IF  WO-SUBTYPE = "J"
  334.              GO TO KBG-END.
  335.            PERFORM BUILD.
  336.            PERFORM GET-WORD.
  337.            GO TO KBG-LOOP.
  338.        KBG-PSV.
  339.            IF  WA-END-INPUT = 1
  340.              MOVE 0301 TO WC-ERROR-NUMBER
  341.              PERFORM PRINT-ERROR
  342.              PERFORM PUT-ENDFILE
  343.              GO TO KAA-ADMIT.
  344.            IF  WO-TYPE = "W"
  345.                  OR "P"
  346.              NEXT SENTENCE
  347.            ELSE
  348.              PERFORM BUILD
  349.              PERFORM GET-WORD
  350.              GO TO KBG-PSV.
  351.            IF  WO-SUBTYPE = "J"
  352.              GO TO KBG-LOOP.
  353.            MOVE WO-ITEM TO WZ-PSVNAME.
  354.            PERFORM GET-WORD.
  355.            GO TO KBG-LOOP.
  356.        KBG-THREAD.
  357.            IF  WA-END-INPUT = 1
  358.              MOVE 0301 TO WC-ERROR-NUMBER
  359.              PERFORM PRINT-ERROR
  360.              PERFORM PUT-ENDFILE
  361.              GO TO KAA-ADMIT.
  362.            IF  WO-TYPE = "W"
  363.                  OR "P"
  364.              NEXT SENTENCE
  365.            ELSE
  366.              PERFORM BUILD
  367.              PERFORM GET-WORD
  368.              GO TO KBG-THREAD.
  369.            IF  WO-SUBTYPE = "J"
  370.              GO TO KBG-LOOP.
  371.            MOVE WO-ITEM TO WZ-PSVTHREAD.
  372.            PERFORM GET-WORD.
  373.            GO TO KBG-LOOP.
  374.        KBG-END.
  375.        KBH-PROCTYPE.
  376.            MOVE WO-WORD TO WO-STORED-WORD-1.
  377.            MOVE 1 TO WZ-REENTRY.
  378.            IF  WZ-PROCTYPE = "RPROC"
  379.              MOVE "ADD" TO WO-ITEM
  380.              PERFORM PUT-WS
  381.              MOVE "1" TO WO-ITEM
  382.              PERFORM PUT-WS
  383.              MOVE "TO" TO WO-ITEM
  384.              PERFORM PUT-WS
  385.              MOVE WZ-PSVTHREAD TO WO-ITEM
  386.              PERFORM PUT-WORD
  387.              PERFORM PUT-FULLSTOP
  388.              PERFORM PUT-SPACE
  389.              MOVE "MOVE" TO WO-SHORT
  390.              PERFORM PUT-WS
  391.              MOVE "1" TO WO-SHORT
  392.              PERFORM PUT-WS
  393.              MOVE "TO" TO WO-SHORT
  394.              PERFORM PUT-WS
  395.              PERFORM PUT-PSVNAME
  396.              PERFORM PUT-FULLSTOP
  397.              PERFORM PUT-SPACE
  398.              PERFORM PUT-ENTRY
  399.            ELSE
  400.              IF  WZ-PROCTYPE = "IPROC"
  401.                PERFORM PUT-GOTO
  402.                STRING WZ-ALPHA,
  403.                    "AA-JUMP-TABLE" DELIMITED SIZE INTO WO-ITEM
  404.                PERFORM PUT-WS
  405.                PERFORM PUT-FULLSTOP
  406.                PERFORM PUT-SPACE
  407.                PERFORM PUT-ENTRY.
  408.            MOVE WO-STORED-WORD-1 TO WO-WORD.
  409.        KBB-EPROC-LOOP.
  410.        KBC-LOOP.
  411.            IF  WA-END-INPUT = 1
  412.              MOVE 0301 TO WC-ERROR-NUMBER
  413.              PERFORM PRINT-ERROR
  414.              GO TO KAA-PROCESS-EPROC.
  415.            IF  WO-EPROC
  416.              GO TO KAA-PROCESS-EPROC.
  417.            IF  WO-SUBTYPE NOT = "J"
  418.              PERFORM BUILD
  419.              PERFORM GET-WORD
  420.              GO TO KBC-LOOP.
  421.        KBD-SELECT.
  422.            IF  WO-STRUCTURE
  423.              PERFORM PROCESS-STRUCTURE
  424.              GO TO KBD-END.
  425.            IF  WO-PSEUDO
  426.              PERFORM PROCESS-SREAD
  427.              GO TO KBD-END.
  428.            IF  WO-SHORT = "PROCBEGIN"
  429.              PERFORM GET-WORD
  430.              GO TO KBD-END.
  431.            MOVE 0314 TO WC-ERROR-NUMBER
  432.            PERFORM PRINT-ERROR.
  433.            PERFORM GET-WORD.
  434.        KBD-END.
  435.            GO TO KBB-EPROC-LOOP.
  436.        KAA-PROCESS-EPROC.
  437.            IF  WZ-PROCTYPE = "IPROC"
  438.              IF  WO-SHORT = "RESET"
  439.                MOVE "MOVE" TO WO-ITEM
  440.                PERFORM PUT-WS
  441.                MOVE "1" TO WO-ITEM
  442.                PERFORM PUT-WS
  443.                MOVE "TO " TO WO-ITEM
  444.                PERFORM PUT-WS
  445.                PERFORM PUT-PSVNAME
  446.                PERFORM PUT-FULLSTOP
  447.                PERFORM PUT-SPACE
  448.              ELSE
  449.                PERFORM PUT-UPDATEPSV
  450.                PERFORM PUT-FULLSTOP
  451.                PERFORM PUT-SPACE
  452.                SUBTRACT 1 FROM WZ-REENTRY.
  453.            IF  WZ-PROCTYPE = "IPROC"
  454.              PERFORM PUT-GOTO
  455.              STRING WZ-ALPHA "AA-EPROC  " DELIMITED SIZE INTO WO-SHORT
  456.              PERFORM PUT-WORD.
  457.            IF  WZ-PROCTYPE = "IPROC"
  458.                  OR "RPROC"
  459.              STRING WZ-ALPHA,
  460.                    "AA-JUMP-TABLE" DELIMITED SIZE INTO WO-ITEM
  461.              PERFORM PUT-PARAGRAPH
  462.              PERFORM PUT-SPACE.
  463.            IF  WZ-PROCTYPE = "RPROC"
  464.              MOVE "SUBTRACT" TO WO-ITEM
  465.              PERFORM PUT-WS
  466.              MOVE "1" TO WO-ITEM
  467.              PERFORM PUT-WS
  468.              MOVE "FROM" TO WO-ITEM
  469.              PERFORM PUT-WS
  470.              MOVE WZ-PSVTHREAD TO WO-ITEM
  471.              PERFORM PUT-WORD
  472.              PERFORM PUT-FULLSTOP
  473.              PERFORM PUT-SPACE
  474.              MOVE "IF" TO WO-ITEM
  475.              PERFORM PUT-WS
  476.              MOVE WZ-PSVTHREAD TO WO-ITEM
  477.              PERFORM PUT-WS
  478.              MOVE "<" TO WO-ITEM
  479.              PERFORM PUT-WS
  480.              MOVE "1" TO WO-ITEM
  481.              PERFORM PUT-WS
  482.              PERFORM PUT-GOTO
  483.              STRING WZ-ALPHA,
  484.                    "AA-EPROC" DELIMITED SIZE INTO WO-ITEM
  485.              PERFORM PUT-WORD
  486.              PERFORM PUT-FULLSTOP
  487.              PERFORM PUT-SPACE.
  488.            IF  WZ-PROCTYPE = "PROC"
  489.              GO TO KAA-WRITE-EPROC.
  490.            MOVE "IF" TO WO-ITEM
  491.            PERFORM PUT-WS
  492.            PERFORM PUT-PSVNAME
  493.            MOVE "<" TO WO-SHORT
  494.            PERFORM PUT-WS
  495.            MOVE "1" TO WO-SHORT
  496.            PERFORM PUT-WS
  497.            MOVE "OR" TO WO-SHORT
  498.            PERFORM PUT-WS
  499.            MOVE ">" TO WO-SHORT
  500.            PERFORM PUT-WS
  501.            ADD 1 TO WZ-REENTRY
  502.            MOVE WZ-REENTRY TO WO-SHORT
  503.            PERFORM PUT-WS
  504.            SUBTRACT 1 FROM WZ-REENTRY
  505.            PERFORM PUT-THEN
  506.            MOVE "MOVE " TO WO-SHORT
  507.            PERFORM PUT-WS
  508.            MOVE "1" TO WO-SHORT
  509.            PERFORM PUT-WS
  510.            MOVE "TO" TO WO-SHORT
  511.            PERFORM PUT-WS
  512.            PERFORM PUT-PSVNAME
  513.            PERFORM PUT-FULLSTOP.
  514.            PERFORM PUT-SPACE.
  515.            PERFORM PUT-GOTO.
  516.            ADD 1 TO WZ-REENTRY.
  517.            MOVE 1 TO WZ-WORK.
  518.        KAD-LOOP.
  519.            IF  WZ-WORK > WZ-REENTRY
  520.              GO TO KAD-END.
  521.            STRING WZ-ALPHA,
  522.                    "AA-",
  523.                    WZ-WORK DELIMITED SIZE INTO WO-ITEM
  524.            PERFORM PUT-WORD.
  525.            PERFORM PUT-COMMA.
  526.            PERFORM PUT-SPACE.
  527.            ADD 1 TO WZ-WORK.
  528.            GO TO KAD-LOOP.
  529.        KAD-END.
  530.            MOVE "DEPENDING" TO WO-ITEM
  531.            PERFORM PUT-WS.
  532.            MOVE "ON" TO WO-ITEM
  533.            PERFORM PUT-WS.
  534.            PERFORM PUT-PSVNAME.
  535.            PERFORM PUT-FULLSTOP.
  536.            PERFORM PUT-SPACE.
  537.            PERFORM PUT-ENTRY.
  538.        KAA-WRITE-EPROC.
  539.            STRING WZ-ALPHA,
  540.                    "AA-EPROC" DELIMITED SIZE INTO WO-ITEM
  541.            PERFORM PUT-PARAGRAPH.
  542.            PERFORM PUT-EXIT.
  543.            MOVE "*" TO WO-ITEM.
  544.            PERFORM PUT-COMMENT.
  545.            MOVE WZ-CYCLOMATIC TO WZ-CYCLO.
  546.            IF  WX-OPT(5) > 1
  547.              STRING "*    CYCLOMATIC COMPLEXITY         = ",
  548.                    WZ-CYCLO DELIMITED SIZE INTO WO-ITEM
  549.              PERFORM PUT-COMMENT.
  550.            GO TO KAA-MAIN-LOOP.
  551.        KAA-ADMIT.
  552.            DISPLAY "END OF INPUT REACHED".
  553.        KAA-ADMIT-END.
  554.        KAA-MAIN-END.
  555.        KAA-END.
  556.            EXIT.
  557.